import { NextResponse } from 'next/server';
import jwt from 'jsonwebtoken';

export async function GET(request: Request) {
  try {
    console.log('=== 开始处理JWT调试请求 ===');
    
    // 检查授权头
    const authHeader = request.headers.get('Authorization');
    if (!authHeader || !authHeader.startsWith('Bearer ')) {
      return NextResponse.json(
        { error: '未提供授权头或格式不正确' },
        { status: 401 }
      );
    }

    const token = authHeader.substring(7); // 去掉"Bearer "前缀
    console.log('收到的token长度:', token.length);
    
    // JWT密钥
    const secret = process.env.JWT_SECRET || 'xiaoyoubao_default_jwt_secret_key_please_change_in_production_environment_2023';
    
    // 验证token并返回详细信息
    try {
      const decodedToken = jwt.verify(token, secret);
      console.log('JWT验证成功，解码内容:', decodedToken);
      
      // 返回解码后的令牌内容给客户端
      return NextResponse.json({ 
        success: true,
        message: 'JWT令牌有效',
        decoded: decodedToken,
        token_type: typeof decodedToken,
        has_id: decodedToken && typeof decodedToken === 'object' && 'id' in decodedToken
      });
    } catch (error) {
      console.error('JWT验证失败:', error);
      
      return NextResponse.json(
        { 
          error: '无效的令牌',
          details: error instanceof Error ? error.message : String(error)
        },
        { status: 401 }
      );
    }
  } catch (error) {
    console.error('处理JWT调试请求失败:', error);
    
    return NextResponse.json(
      { error: '服务器错误' },
      { status: 500 }
    );
  }
} 